import axios from 'axios'

// const apiUrl = import.meta.env.VITE_BILIBILI_API_MAIN_URI;
const apiUrl = import.meta.env.VITE_BILIBILI_API_PASSPORT_URI;

//配置请求的基础url以及响应超时时间
axios.defaults.baseURL = apiUrl
axios.defaults.timeout = 30 * 1000
//请求拦截器，在请求头里添加TOKEN
axios.interceptors.request.use(config => {
        // if('token') {
        //     // 配置请求头的token授权
        //     config.headers.Authorization = 'token'
        // }
        // 必须要返回config
        return config
    },
    //参数二，对错误请求做什么
    error => {
        console.log('请求出错，错误是' + error)
        //返回一个失败状态promise
        return Promise.reject(error)
    },
)

//响应拦截器，对于响应过滤
axios.interceptors.response.use(res => {

        // 获取到状态码
        const status = res.data.meta.status
        //获取响应提示信息
        const msg = res.data.meta.msg

        //状态码401，说明需要用户重新登陆授权
        if (status === 401) {

        }
        // 响应的结果有报错
        else if (status !== 200) {
            // Message.error(msg)
            // 返回一个失败状态的promise
            return Promise.reject('出错了')
        }
        // 若正常响应，则返回响应结果
        else {

            return res.data
        }
    },
    //没网，不能成功发起请求
    ()=>{

        return Promise.reject('出错了')

    })
// 一定要返回实例
export default axios
